#region Copyright (c) 2003 - 2006 Toenda Software Development
/*
 * Copyright (c) 2003 - 2006 Toenda Software Development
 */
#endregion

using System;
using System.Collections;

namespace Toenda.Rails {
	namespace DataContainer {
		/// <summary>
		/// Class ProjectItem. Data object for a project.
		/// </summary>
		[Serializable]
		public class ImageItem {
			private long m_id;
			private string m_pkid;
			private string m_userid;
			private string m_name;
			private string m_description;
			private string m_image_org;
			private string m_image_1024;
			private string m_image_500;
			private string m_image_240;
			private string m_image_100;
			private string m_image_75x75;
			private int m_access;
			private DateTime m_uploaddate;
			private ArrayList m_tags;
			private ArrayList m_comments;
			private Account m_account;
			private string m_licence;
			private int _type;
			private string _equipment_maker;
			private string _equipment_model;

			/// <summary>
			/// Default constructor
			/// </summary>
			public ImageItem() {
				m_tags = new ArrayList();
				m_comments = new ArrayList();
			}

			/// <summary>
			/// Get or set the pkid
			/// </summary>
			public string ID {
				get { return m_pkid; }
				set { m_pkid = value; }
			}

			/// <summary>
			/// Get or set the id
			/// </summary>
			public long ImageID {
				get { return m_id; }
				set { m_id = value; }
			}

			/// <summary>
			/// Get or set the title
			/// </summary>
			public string UserID {
				get { return m_userid; }
				set { m_userid = value; }
			}

			/// <summary>
			/// Get or set the name
			/// </summary>
			public string Name {
				get { return m_name; }
				set { m_name = value; }
			}

			/// <summary>
			/// Get or set the value of the description
			/// </summary>
			public string Description {
				get { return m_description; }
				set { m_description = value; }
			}

			/// <summary>
			/// Get or set the image with original resolution
			/// </summary>
			public string ImageOriginal {
				get { return m_image_org; }
				set { m_image_org = value; }
			}

			/// <summary>
			/// Get or set the image with resolution of 1024
			/// </summary>
			public string Image1024 {
				get { return m_image_1024; }
				set { m_image_1024 = value; }
			}

			/// <summary>
			/// Get or set the image with resolution of 500
			/// </summary>
			public string Image500 {
				get { return m_image_500; }
				set { m_image_500 = value; }
			}

			/// <summary>
			/// Get or set the image with resolution of 240
			/// </summary>
			public string Image240 {
				get { return m_image_240; }
				set { m_image_240 = value; }
			}

			/// <summary>
			/// Get or set the image with resolution of 100
			/// </summary>
			public string Image100 {
				get { return m_image_100; }
				set { m_image_100 = value; }
			}

			/// <summary>
			/// Get or set the image with resolution of 75x75
			/// </summary>
			public string Image75x75 {
				get { return m_image_75x75; }
				set { m_image_75x75 = value; }
			}

			/// <summary>
			/// Get or set the access rights (0 = Public)
			/// </summary>
			public int Access {
				get { return m_access; }
				set { m_access = value; }
			}

			/// <summary>
			/// Get or set the upload date
			/// </summary>
			public DateTime UploadDate {
				get { return m_uploaddate; }
				set { m_uploaddate = value; }
			}

			/// <summary>
			/// Get (or set) the tags of a image
			/// </summary>
			public ArrayList Tags {
				get { return m_tags; }
				set { m_tags = value; }
			}

			/// <summary>
			/// Get (or set) the comments of a image
			/// </summary>
			public ArrayList Comments {
				get { return m_comments; }
				set { m_comments = value; }
			}

			/// <summary>
			/// Get or set the account object of the user
			/// </summary>
			public Account User {
				get { return m_account; }
				set { m_account = value; }
			}

			/// <summary>
			/// Get or set the licence of the image
			/// </summary>
			public string Licence {
				get { return m_licence; }
				set { m_licence = value; }
			}

			/// <summary>
			/// Get or set the type of the image
			/// </summary>
			public int Type {
				get { return _type; }
				set { _type = value; }
			}

			/// <summary>
			/// Get or set the EquipmentMaker
			/// </summary>
			public string EquipmentMaker {
				get { return _equipment_maker; }
				set { _equipment_maker = value; }
			}

			/// <summary>
			/// Get or set the EquipmentModel
			/// </summary>
			public string EquipmentModel {
				get { return _equipment_model; }
				set { _equipment_model = value; }
			}
		}
	}
}
